Computer systems may be achieved in a variety of arrangements. They may consist of a single processor machine as is commonly the case in desk top implementations or in multiple processor machines. Furthermore, individual computers may be connected in intra- or inter-network arrangements.
Computers contain a plurality of devices, each dedicated to a particular function. These devices compete for a computer's resources and may include modems, scanners, external storage, sound/video cards, network adapters, printers, SCSI ports and keyboard/mouse, amongst others. It is often a challenge to configure a computer such that each of these devices has access to the computer's resources such as interrupt request lines, direct memory access (DMA) channels, memory or input and output address space, etc. Conflicts may arise that result in a service call to remedy the situation. One reason for the occurrence of such conflicts is that prior art configuration routines tend to configure devices in a serial manner allocating resource to each device as the device is detected, instead of analyzing all of the devices in a system and then making appropriate allocations that minimize conflict.
As the complexity of the system increases, so does the complexity of obtaining a working configuration. Thus, an increase in configuration problems is encountered in computers that have multiple processors, multiple memories and multiples of other resources such as buses and I/O channels.
It should also be recognized that many computers utilize difference operating systems, including but not limited to, UNIX, DOS, OS/2 and Windows platforms. In many cases obtaining a working configuration is dependent upon the assignment preferences of the operating system. A need thus exists for a configuration tool that is applicable to these varied operating systems.